1. Statement of the Technical Field
The present invention relates to the field of interactive voice response applications and more particularly to a method and system of compiling and caching documents in an interactive voice response system that creates an object model representation of a document fetched from a server and stores that object model in cache in order to obtain a more efficient web-based programming model.
2. Description of the Related Art
In a typical software application using a high level programming language such as C or C++, a text editor is first used to write the code. A compiler is then used to parse the source code and to build the object models and the final executable code. The compiler therefore provides executable code that does not require re-interpreting. However, in a web-based environment, much of the text is human readable text that needs to be interpreted and the interpretation of text in a web application can be costly.
The location of a resource in a file system is indicated by its Universal Resource Indicator (URI). In a web environment, a user can access a document on a remote web application server by sending a request for the document, referencing the document's URI. The request includes the location of that document (a URI) in the form of a Universal Resource Location (URL). When the user later attempts to revisit the web server in order to re-access the document, there is no need to again reference the URI of the requested document across the web since the requested resource has already been loaded onto the user's web browser and stored in cache on the user's computer. This process allows document retrieval time to be minimized.
In a typical Interactive Voice Response (IVR) application such as a VoiceXML system, the system requests content from a remote sever over a communication network such as the Internet. In response, the server creates VoiceXML documents and returns the documents to a VoiceXML platform where they are stored in the system's cache memory. However, because what is typically stored in cache is the original source document which must again be interpreted or re-parsed before it is executed, the result is a time-consuming and costly procedure. Therefore, although the process of storing the requested resource in the system's cache reduces document-retrieval time, the document parsing/validation time remains unchanged because the resource stored in cache must still be parsed and validated before it can be executed.
IVR systems require fast interpretation of voice commands and quick response turnaround. After receiving a voice or touchtone command, a request must be sent to a remote server for data, and documents must be created and returned to the system in order for a voice response to be provided, either via text-to-speech conversion or via a voice recognition engine. Further adding to the system response time is the process of reparsing resources that have been retrieved from the web server and that have been stored in the system's cache memory.
Therefore, in order to provide a more efficient document retrieval system, particularly when dealing with the retrieval of documents in a VoiceXML application, what is needed is a method and system that reduces the time and cost associated with the retrieval of documents stored in a system cache by eliminating the need to reparse and revalidate the stored documents prior to their execution.